熱血是會互相感染的。
昨天有機會到台灣少數專精在 HR 領域產品的 MAYO 進行企業內訓。
參與的有不寫程式的 QA, 有幾位是前端工程師,有一位 Android developer, 一位 iOS developer ,其他的都是後端工程師。
不管是用哪一種語言,需求跟情境都是中性的,你可以用不同的語言來實作滿足一樣的需求。
也因為測試的本質是在驗證產品的運作是否滿足了需求情境的期望,所以不同程式語言碰到的問題(例如直接相依的強耦合),設計上的 smell,測試與重構的雞生蛋、蛋生雞,還有不管哪種語言你寫程式速度影響了一切。
大家從一開始對單元測試有著自己的想像(與偏見),到後面自己有能力重構單元測試,發現原來一切都跟產品設計息息相關,一切都跟需求和情境有關。
看測試的角度改從呼叫端、使用者角度去看情境,而不是從產品代碼商業邏輯去對著寫測試程式。
測試案例的設計,能使得產品代碼的設計方式、擺放位置、執行結果符合你的期待,只要位置用法跟你要的不一樣,就跟學開車一樣,總會有紅線提醒你,有東西不對唷。
怎麼避免你的測試過度敏感,就像洗個澡廚房的一氧化碳警報器就會大叫,管理室就會打電話來關心你,最後你不堪其擾,要洗澡就會關掉警報器。那就浪費了當初花時間撰寫測試的投資了。
結論:
去新竹感覺比去南港方便啊,26分鐘就到新竹高鐵站了。